import { request, METHOD } from '@/utils/services/request'
import { GEN_LIST, DB_LIST, GET_GEN_TABLE, IMPORT_TABLE, PREVIEW_TABLE, UPDATE_GEN_TABLE,DEL_TABLE,GEN_CODE, GEN_SYNCHDB } from '@/services/api'


/**
 *  查询生成表数据
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function listTable (data) {
  return request(GEN_LIST, METHOD.GET, data)
}


/**
 *  查询db数据库列表
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function listDbTable (data) {
  return request(DB_LIST, METHOD.GET, data)
}

/**
 *  查询表详细信息
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function getGenTable (tableId) {
  return request(`${GET_GEN_TABLE}/${tableId}`, METHOD.GET)
}

/**
 *  导入表
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function importTable (data) {
  return request(`${IMPORT_TABLE}?tables=${data}`, METHOD.POST)
}

/**
 *  预览生成代码
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function previewTable (tableId) {
  return request(`${PREVIEW_TABLE}/${tableId}`, METHOD.GET)
}


/**
 *  修改代码生成信息
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function updateGenTable (data) {
  return request(UPDATE_GEN_TABLE, METHOD.POST, data)
}

/**
 *  删除表数据
 * @returns {Promise<AxiosResponse<T>>}
 */
 export async function delTable (tableId) {
  return request(`${DEL_TABLE}/${tableId}`, METHOD.GET)
}


/**
 *  生成代码（自定义路径）
 * @returns {Promise<AxiosResponse<T>>}
 */
 export async function genCode (tableName) {
  return request(`${GEN_CODE}/${tableName}`, METHOD.GET)
}



/**
 *  生成代码（自定义路径）
 * @returns {Promise<AxiosResponse<T>>}
 */
 export async function synchDb (tableName) {
  return request(`${GEN_SYNCHDB}/${tableName}`, METHOD.GET)
}
